package com.njtoyo.taxi.admin.service.business.driver;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njtoyo.taxi.admin.rest.presenter.business.driver.DriverAuditInfoDetailsPresenter;
import com.njtoyo.taxi.admin.rest.presenter.business.driver.DriverAuditPagePresenter;
import com.njtoyo.taxi.admin.rest.wrapper.business.driver.*;
import com.njtoyo.taxi.entity.backend.AdminUser;
import com.taxi.entity.common.RestResult;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

public interface DriverRegistrationInfoService {
    //司机自主审核列表
    RestResult<Page<DriverAuditPagePresenter>> getPage(AdminUser adminUser,
                                                       DriverAuditQueryWrapper wrapper);

    RestResult<DriverAuditInfoDetailsPresenter> details(Long id);

    RestResult update(Long id, DriverRegistrationInfoUpdateWrapper wrapper);

    RestResult examine(AdminUser adminUser, Long id, DriverRegistrationInfoExamineWrapper wrapper) throws UnsupportedEncodingException;

    RestResult reject(AdminUser adminUser, Long id, DriverRegistrationInfoExamineWrapper wrapper) throws UnsupportedEncodingException;

    RestResult check(Long id);

    void export(AdminUser adminUser, DriverRegistrationInfoExportWrapper wrapper, HttpServletResponse response) throws IOException;

    RestResult<Boolean> auditCertificate(AdminUser adminUser, Long id, DriverAuditCertificateWrapper req);

}
